home *** CD-ROM | disk | FTP | other *** search
- // dxtexView.h : interface of the CDxtexView class
- //
- /////////////////////////////////////////////////////////////////////////////
-
- #if !defined(AFX_DXTXVIEW_H__712C53D1_D63B_11D1_A8B5_00C04FC2DC22__INCLUDED_)
- #define AFX_DXTXVIEW_H__712C53D1_D63B_11D1_A8B5_00C04FC2DC22__INCLUDED_
-
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
-
-
- class CDxtexView : public CScrollView
- {
- protected: // create from serialization only
- CDxtexView();
- DECLARE_DYNCREATE(CDxtexView)
- CDxtexDoc* GetDocument();
-
- // Operations
- public:
-
- // Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CDxtexView)
- public:
- virtual void OnDraw(CDC* pDC); // overridden to draw this view
- virtual void OnInitialUpdate();
- protected:
- virtual void OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint);
- //}}AFX_VIRTUAL
-
- // Implementation
- public:
- virtual ~CDxtexView();
- #ifdef _DEBUG
- virtual void AssertValid() const;
- virtual void Dump(CDumpContext& dc) const;
- #endif
- BOOL TitleModsChanged(VOID) { return m_bTitleModsChanged; }
- VOID ClearTitleModsChanged(VOID) { m_bTitleModsChanged = FALSE; }
- CString GetStrTitleMods(VOID);
- VOID GetImageInfo(CString& strInfo);
-
- // Generated message map functions
- protected:
- //{{AFX_MSG(CDxtexView)
- afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
- afx_msg void OnFileOpenSubsurface();
- afx_msg void OnFileOpenAlphaSubsurface();
- afx_msg void OnFileOpenFace();
- afx_msg void OnFileOpenAlphaFace();
- afx_msg void OnViewOriginal();
- afx_msg void OnViewCompressed();
- afx_msg void OnViewAlphaChannel();
- afx_msg void OnViewLargerMipLevel();
- afx_msg void OnViewSmallerMipLevel();
- afx_msg void OnViewZoomIn();
- afx_msg void OnViewZoomOut();
- afx_msg void OnViewChangeBackgroundColor();
- afx_msg void OnViewNegX();
- afx_msg void OnViewPosX();
- afx_msg void OnViewNegY();
- afx_msg void OnViewPosY();
- afx_msg void OnViewNegZ();
- afx_msg void OnViewPosZ();
- afx_msg void OnViewHigherVolumeSlice();
- afx_msg void OnViewLowerVolumeSlice();
- afx_msg void OnUpdateFileOpenSubsurface(CCmdUI* pCmdUI);
- afx_msg void OnUpdateFileOpenAlphaSubsurface(CCmdUI* pCmdUI);
- afx_msg void OnUpdateFileOpenFace(CCmdUI* pCmdUI);
- afx_msg void OnUpdateFileOpenAlphaFace(CCmdUI* pCmdUI);
- afx_msg void OnUpdateViewOriginal(CCmdUI* pCmdUI);
- afx_msg void OnUpdateViewCompressed(CCmdUI* pCmdUI);
- afx_msg void OnUpdateViewAlphaChannel(CCmdUI* pCmdUI);
- afx_msg void OnUpdateViewLargerMipLevel(CCmdUI* pCmdUI);
- afx_msg void OnUpdateViewSmallerMipLevel(CCmdUI* pCmdUI);
- afx_msg void OnUpdateViewZoomIn(CCmdUI* pCmdUI);
- afx_msg void OnUpdateViewZoomOut(CCmdUI* pCmdUI);
- afx_msg void OnUpdateViewNegX(CCmdUI* pCmdUI);
- afx_msg void OnUpdateViewPosX(CCmdUI* pCmdUI);
- afx_msg void OnUpdateViewNegY(CCmdUI* pCmdUI);
- afx_msg void OnUpdateViewPosY(CCmdUI* pCmdUI);
- afx_msg void OnUpdateViewNegZ(CCmdUI* pCmdUI);
- afx_msg void OnUpdateViewPosZ(CCmdUI* pCmdUI);
- afx_msg void OnUpdateViewHigherVolumeSlice(CCmdUI* pCmdUI);
- afx_msg void OnUpdateViewLowerVolumeSlice(CCmdUI* pCmdUI);
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
-
- private:
- HRESULT UpdateDevice(VOID);
- HRESULT RenderScene(VOID);
- CDxtexApp* PDxtexApp(VOID) { return (CDxtexApp*)AfxGetApp(); }
- HRESULT BuildViewSurface(BOOL bOrig, D3DCUBEMAP_FACES FaceType, LONG lwSlice, LONG lwMip, BOOL bViewAlpha);
- HRESULT LoadSurfaceFromVolumeSlice(LPDIRECT3DVOLUME8 pVolume, UINT iSlice, LPDIRECT3DSURFACE8 psurf);
-
- DWORD NumBytesInSurfaces(D3DCUBEMAP_FACES FaceType, LPDIRECT3DBASETEXTURE8 ptex);
- HRESULT CreateVertexBuffer(VOID);
- CString FormatName(D3DFORMAT fmt);
-
- LPDIRECT3DVERTEXBUFFER8 m_pVB;
- LPDIRECT3DTEXTURE8 m_ptexCur; // Currently-viewed texture surface
- LPDIRECT3DSWAPCHAIN8 m_pSwapChain;
- CRect m_rcSrc; // Size of m_pddsCur and m_pddsBack
- CRect m_rcDest; // m_rcDest scaled by m_fZoom
- FLOAT m_fZoom; // Zoom factor
- BOOL m_bViewOrig; // View "original" vs. "new" surface
- BOOL m_bViewAlpha; // View alpha channel alone vs. normal image
- BOOL m_bTitleModsChanged; // Whether title bar text modifiers need to be updated
- LONG m_lwMipCur; // Currently-viewed mip. 0 = top, 1 = next one down, etc.
- D3DCUBEMAP_FACES m_CubeFaceCur; // D3DCUBEMAP_FACE_FORCE_DWORD = no cube map, or D3DCUBEMAP_FACE_POSITIVE_X, etc.
- LONG m_lwSliceCur; // For volume maps
- DWORD m_dwClearColor; // Background color that will show through where alpha is non-opaque
- };
-
- #ifndef _DEBUG // debug version in dxtexView.cpp
- inline CDxtexDoc* CDxtexView::GetDocument()
- { return (CDxtexDoc*)m_pDocument; }
- #endif
-
- /////////////////////////////////////////////////////////////////////////////
-
- //{{AFX_INSERT_LOCATION}}
- // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
-
- #endif // !defined(AFX_DXTXVIEW_H__712C53D1_D63B_11D1_A8B5_00C04FC2DC22__INCLUDED_)
-